package Observers;

import tadp.tp.domain.HomePersonas;
import tadp.tp.domain.OrganizadorDeReuniones;
import tadp.tp.domain.Persona;
import tadp.tp.domain.Reunion;
import tadp.tp.domain.condiciones.QueryBuilder;

	public class CriterioAsociadoDeSeleccion implements Observador {
		private String otroCriterio;
		private HomePersonas home;
		private OrganizadorDeReuniones organizador;
	public CriterioAsociadoDeSeleccion(String string, OrganizadorDeReuniones organizador2) {
		this.setOtroCriterio(string);	
		this.setHome(HomePersonas.getInstance());
		this.setOrganizador(organizador2);
		}
	@Override
	public void realizarAccion(Reunion reunion, Persona persona) {
		int posicion=reunion.getPersonas().indexOf(persona);
		Persona personaExtra=this.organizador.seleccionarPersonaExtra(new QueryBuilder().rol(this.getOtroCriterio()).buildCondicion());
		reunion.getPersonas().set(posicion, personaExtra);
	}
	public String getOtroCriterio() {
		return otroCriterio;
	}
	public void setOtroCriterio(String otroCriterio) {
		this.otroCriterio = otroCriterio;
	}
	
	public HomePersonas getHome() {
		return home;
	}
	public void setHome(HomePersonas home) {
		this.home = home;
	}
	public OrganizadorDeReuniones getOrganizador() {
		return organizador;
	}
	public void setOrganizador(OrganizadorDeReuniones organizador) {
		this.organizador = organizador;
	}

}
